import request from '@/utils/request'
import type {
  loginPasswordReq,
  loginPasswordApi,
  codeGetReq,
  codeGetApi,
  loginPostReq,
  patientMyUserApi,
  patientMylistApi,
  patientAddReq,
  patientUpdateReq
} from '@/types/user'

// 登录
// 接口定义有二种类型：接口返回值类型：loginPasswordApi，接口请求参数类型：loginPasswordReq
export const loginPassword = (data: loginPasswordReq) => {
  // return request({
  //   url: '/login/password',
  //   method: 'POST',
  //   data
  // })
  return request<loginPasswordApi>('/login/password', 'POST', data)
}

// 请求接口  url,请求方式，参数
// request.get('url',{params:{参数}})
// request.post('url',{参数})
// 希望：request(url,请求方式，参数)

// 获取验证码
export const codeGet = async (data: codeGetReq) => request<codeGetApi>('/code', 'get', data)

// 验证码登录
/*
  接口请求
  1：定义api
  2:定义请求参数的类型
  3：在api中使用请求参数类型
  4：导入与调用接口api
  5:打印返回值
  6：定义返回值的数据类型
  7：在接口api中加入返回值数据类型处理

*/
export const loginPost = (data: loginPostReq) => request<loginPasswordApi>('/login', 'post', data)

// 获取用户中心相关数据
export const patientMyUser = () => request<patientMyUserApi>('/patient/myUser', 'get')

// 家庭档案列表
export const patientMylist = () => request<patientMylistApi[]>('/patient/mylist')

// 家庭档案新增
export const patientAdd = (data: patientAddReq) => request('/patient/add', 'post', data)

// 家庭档案编辑
export const patientUpdate = (data: patientUpdateReq) => request('/patient/update', 'put', data)

// 家庭档案删除
export const patientDel = (id: string) => request(`/patient/del/${id}`, 'DELETE')
